package com.hqully.labmanage.service;

import com.github.pagehelper.PageInfo;
import com.hqully.labmanage.domain.entity.DeviceFault;
import com.hqully.labmanage.domain.dto.DeviceFaultDTO;
import com.hqully.labmanage.domain.dto.PageDTO;

import java.util.List;

/**
 * <p>
 * 针对数据库表[deviceFaultDTO]的操作Service
 * </p>
 *
 * @entity {@link DeviceFaultDTO}
 * @date 2022-10-08 10:05:23 <br>
 * @author hqully <br>
 * @version 1.0
 */

public interface DeviceFaultService {

     /**
      * <p>
      *     根据[deviceFaultDTO]的参数分页条件查询设备故障列表
      * </p>
      * @param page    分页参数
      * @param deviceFaultDTO 查询对象条件参数
      * @return {@link PageInfo<DeviceFaultDTO>} 设备故障DTO分页列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     PageInfo<DeviceFaultDTO> pageDeviceFaults(PageDTO page, DeviceFaultDTO deviceFaultDTO);


     /**
      * <p>
      *     根据[deviceFaultDTO]的参数条件查询设备故障
      * </p>
      * @param deviceFaultDTO 查询对象
      * @return {@link List<DeviceFaultDTO>} 设备故障DTO列表
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     List<DeviceFaultDTO> listDeviceFaults(DeviceFaultDTO deviceFaultDTO);


     /**
      * <p>
      *     添加设备故障
      * </p>
      * @param deviceFaultDTO 设备故障DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int addDeviceFault(DeviceFaultDTO deviceFaultDTO);

     /**
      * <p>
      *     更新设备故障
      * </p>
      * @param deviceFaultDTO 设备故障DTO
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int updateDeviceFault(DeviceFaultDTO deviceFaultDTO);


     /**
      * <p>
      *     通过[id]删除设备故障
      * </p>
      * @param id 设备故障id
      * @return {@link int}
      * @date 2022-10-08 10:05:23 <br>
      * @author hqully <br>
      */
     int deleteDeviceFaultById(Integer id);

}
